perm filename NTOP.SAI[PIC,TOB] blob sn#261425 filedate 1977-01-26 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00003 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	convert negative images to positive
C00003 00003	RECORD_POINTER (IO) IFILE comment input file, channel,etc
C00005 ENDMK
C⊗;
comment convert negative images to positive;
BEGIN "NEGATIVE TO POSITIVE"

  EXTERNAL PROCEDURE BAIL;

  REQUIRE "ABBREV.2D[S1,TOB]" SOURCE_FILE;
  REQUIRE "STD.14H[S1,TOB]" SOURCE_FILE;
  REQUIRE "STD[S1,TOB]" LOAD_MODULE;

  REQUIRE "FILEIO.2E[S2,TOB]" SOURCE_FILE;
  REQUIRE "FILEIO[S2,TOB]" LOAD_MODULE;

RECORD_POINTER (IO) IFILE; comment input file, channel,etc;
RECORD_POINTER (IO) OFILE;  comment output file,channel,etc;
STRING NAME; comment file name;

NAME←ASK_STRING(CRLF&"FILE NAME ");
BAIL;
NEWFILE(IFILE,NAME,"SUN","PIC,HE");
OPEN_I(IFILE,BINARY_FILE);
NEWFILE(OFILE,NAME,"SU","PIC,HE");
OPEN_O(OFILE,BINARY_FILE);

  BEGIN "HEADER"
  INTEGER I;
  INTEGER ICH,OCH;
  ICH←IO:CH[IFILE];
  OCH←IO:CH[OFILE];
  INOUT(ICH,OCH,'200);
  WHILE ¬IO:EOF[IFILE] DO BEGIN
    INTEGER W;
    W←WORDIN(ICH);
    W←W XOR -1;
    W←W LAND '777777777760; comment leave last four bits zero;
    WORDOUT(OCH,W);
    END;
  CLOSE(OCH);
  END "HEADER";
END "NEGATIVE TO POSITIVE";